Termination Analysis by Learning Terminating Programs
نویسندگان
چکیده
We present a novel approach to termination analysis. In a first step, the analysis uses a program as a black-box which exhibits only a finite set of sample traces. Each sample trace is infinite but can be represented by a finite lasso. The analysis can ”learn” a program from a termination proof for the lasso, a program that is terminating by construction. In a second step, the analysis checks that the set of sample traces is representative in a sense that we can make formal. An experimental evaluation indicates that the approach is a potentially useful addition to the portfolio of existing approaches to termination analysis.
منابع مشابه
Reasoning about Termination of Pure Prolog Programs
We provide a theoretical basis for studying termination of (general) logic programs with the Prolog selection rule. To this end we study the class of left terminating programs. These are logic programs that terminate with the Prolog selection rule for all ground goals. We ooer a characterization of left terminating positive programs by means of the notion of an acceptable program that provides ...
متن کاملTermination Analysis of the Untyped λ-Calculus
An algorithm is developed that, given an untyped λ-expression, can certify that its call-by-value evaluation will terminate. It works by an extension of the “size-change principle” earlier applied to firstorder programs. The algorithm is sound (and proven so in this paper) but not complete: some λ-expressions may in fact terminate under callby-value evaluation, but not be recognised as terminat...
متن کاملGenerating Asymptotically Non-Terminating Initial Values for Linear Programs
We present the notion of asymptotically non-terminating initial variable values for linear loop programs. Those values are directly associated to initial variable values for which the corresponding program does not terminate. Our theoretical contributions provide us with powerful computational methods for automatically generating sets of asymptotically non-terminating initial variable values. S...
متن کاملProving Termination of Probabilistic Programs Using Patterns
Proving programs terminating is a fundamental computer science challenge. Recent research has produced powerful tools that can check a wide range of programs for termination. The analog for probabilistic programs, namely termination with probability one (“almostsure termination”), is an equally important property for randomized algorithms and probabilistic protocols. We suggest a novel algorith...
متن کاملNon-termination analysis of logic programs with integer arithmetics
In the past years, analyzers have been introduced to detect classes of non-terminating queries for definite logic programs. Although these non-termination analyzers have shown to be rather precise, their applicability on real-life Prolog programs is limited because most Prolog programs use non-logical features. As a first step towards the analysis of Prolog programs, this paper presents a nonte...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014